package cn.stylefeng.guns.modular.gridsystem.service;

import cn.stylefeng.guns.core.pojo.page.PageResult;
import cn.stylefeng.guns.modular.gridsystem.entity.WpUploadLog;
import cn.stylefeng.guns.modular.gridsystem.model.param.WpUploadLogParam;
import cn.stylefeng.guns.modular.gridsystem.model.result.WpUploadLogResult;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * 倾角上传日志 服务类
 *
 * @author 乔李莱莱
 * @date 2023/10/16
 */
public interface WpUploadLogService extends IService<WpUploadLog> {

    /**
     * 分页查询倾角上传日志
     *
     * @param wpUploadLogParam gatewayId:网关id
     * @return PageResult<WpUploadLogResult> 倾角上传日志分页结果
     * @author 乔李莱莱
     * @since 2023/10/16
     */
    PageResult<WpUploadLogResult> page(WpUploadLogParam wpUploadLogParam);

    /**
     * 添加倾角上传日志
     *
     * @param wpUploadLogParam dip  倾角
     *                         channelId    网关通道id
     * @author 乔李莱莱
     * @since 2023/10/16
     */
    void add(WpUploadLogParam wpUploadLogParam);

    /**
     * 删除倾角上传日志
     *
     * @param wpUploadLogParam id 主键id
     * @author 乔李莱莱
     * @since 2023/10/16
     */
    void delete(WpUploadLogParam wpUploadLogParam);

    /**
     * 编辑倾角上传日志
     *
     * @param wpUploadLogParam id 主键id
     *                         dip 倾角
     *                         channelId 网关id
     * @author 乔李莱莱
     * @since 2023/10/16
     */
    void edit(WpUploadLogParam wpUploadLogParam);

    /**
     * 查看详情倾角上传日志
     *
     * @param wpUploadLogParam id:网关主键id
     * @return WpUploadLogResult
     * @author 乔李莱莱
     * @since 2023/10/16
     */
    WpUploadLogResult detail(WpUploadLogParam wpUploadLogParam);

    /**
     * 获取最新倾角
     *
     * @param wpUploadLogParam channelId 网关通道id
     *                         createTime 创建时间
     * @return WpUploadLog
     * @author 乔李莱莱
     * @since 2023/10/16
     */
    WpUploadLog getNewOne(WpUploadLogParam wpUploadLogParam);
}
